package Demo;

public class demo01 {

	public static void main(String[] args) {
		/**
		 * 抽象类
		 * 1.*定义：类和类之间具有共同特征，将这些共同特征提取出来，形成的就是抽象类。
		 * 2.抽象类属于什么类型：引用类型
		 * 3.抽象类语法：
		 * 		[修饰符列表] abstract class 类名{
		 * 				类体	
		 * 		}
		 * 4.*抽象类是无法实例化的，无法创建对象，所以抽象类是用来给子类继承的
		 * 5.abstract不能与那些关键字共同使用：
		 * 		1.private	修饰的方法不能被重写， abstract 必须要重写的  冲突
		 * 		2.static  静态方法 不算方法重写，与  abstract 必须要重写的  冲突
		 * 		3.final 方法 不能被重写， 与  abstract 必须要重写的  冲突
		 * 		4.final 类 ： 不能被继承， 与  abstract 必须要有子类继承  冲突
		 * 6.*抽象类的子类可以是抽象类，也可以不是。
		 * *7.抽象类虽然无法实例化，但是抽象类有“构造方法，这个构造方法提供给子类使用的”
		 * 
		 * 8.抽象方法：抽象方法表示没有实现的方法，没有方法体，例如：
		 * 		public abstract void doSome();
		 * 		抽象方法特点是：1.没有方法体，以分号结尾;
		 * 				   2.前面修饰符列表中有abstract关键字。
		 * 9.*抽象类中不一定有抽象方法，抽象方法一定出现在抽象类中。
		 * 10.*****一个非抽象的类，继承抽象类，必须将抽象类中的抽象方法进行  重写/实现。
		 * 
		 * abstract关键字  不能修饰属性 构造方法  代码块
		 * 
		 * 
		 * 面试题:java语言中凡是没有方法体的方法都是抽象方法？ 错 Object类中就有很多方法没有方法体。
		 * 
		 * 
		 */

	}

}
